package com.itheima.mobilesafe69.receiver;

import com.itheima.mobilesafe69.service.UpdateWidgetService;

import android.annotation.SuppressLint;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

@SuppressLint("NewApi")
public class MyAppWidgetProvider extends AppWidgetProvider {
	private static final String tag = "MyAppWidgetProvider";

	@Override
	public void onReceive(Context context, Intent intent) {
		Log.i(tag, "onReceive被调用了....");
		super.onReceive(context, intent);
	}
	
	@Override
	public void onEnabled(Context context) {
		Log.i(tag, "onEnabled创建了第一个窗口小部件调用的方法");
		//在此方法中去开启一个服务,只要有窗体小部件,就需要去管理器更新,此服务用作窗体小部件的更新过程
		context.startService(new Intent(context,UpdateWidgetService.class));
		super.onEnabled(context);
		
	}
	
	@Override
	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
			int[] appWidgetIds) {
		Log.i(tag, "onUpdate创建了一个窗口小部件调用的方法");
		//解决,再次部署此应用的时候,不能开启服务,并且开启定时器问题
		context.startService(new Intent(context,UpdateWidgetService.class));
		super.onUpdate(context, appWidgetManager, appWidgetIds);
	}
	
	@Override
	public void onAppWidgetOptionsChanged(Context context,
			AppWidgetManager appWidgetManager, int appWidgetId,
			Bundle newOptions) {
		//解决,再次部署此应用的时候,不能开启服务,并且开启定时器问题
		Log.i(tag, "onAppWidgetOptionsChanged修改窗体小部件宽高的时候调用的方法");
		context.startService(new Intent(context,UpdateWidgetService.class));
		super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId,
				newOptions);
	}
	
	@Override
	public void onDeleted(Context context, int[] appWidgetIds) {
		Log.i(tag, "onDeleted删除窗体小部件的时候调用的方法");
		super.onDeleted(context, appWidgetIds);
	}

	@Override
	public void onDisabled(Context context) {
		Log.i(tag, "onDisabled删除最后一个窗体小部件的时候调用的方法");
		context.stopService(new Intent(context,UpdateWidgetService.class));
		super.onDisabled(context);
	}
	//事件处理规则,打印日志
}
